/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao.diffusion;

import dao.questionnaire.DaoQuestionnaireLocal;
import dao.utilisateur.DaoRepondantAuthentifieLocal;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.mail.MessagingException;
import javax.naming.NamingException;
import services.SrvGestionQuestionnaireLocal;
import utils.MailLocal;

/**
 *
 * @author loic.vaugeois
 */
@ManagedBean
@RequestScoped
public class TestDiffusion {

    /** Creates a new instance of TestUtilisateur */
    public TestDiffusion() {
    }

    @EJB
    private MailLocal srvMail;

    @EJB
    private SrvGestionQuestionnaireLocal srvQuest;

    @EJB
    private DaoRepondantAuthentifieLocal daoUser;

    @EJB
    private DaoQuestionnaireLocal daoQuestionnaire;

    public void tester() {
       // System.out.println("Test Diffusion:");
//        testMail();
//        System.out.println("Envoi d'une invitation de test");
//        testDiffusionAUnUser();
        System.out.println("Envoi mail Auto à toutes les cibles du questionnaire 1.");
        testDiffusionAuto();
        System.out.println("Envoi d'un mail de relance à toutes les cibles n'ayant pas répondu au questionnaire 1.");
        testRelanceDiffusion();
        System.out.println("Envoi d'un mail de remerciement à un user pour le questionnaire 1.");
        testRemercier();

    }

    private void testMail() {
        System.out.println("Test Mail:");
        try {
            srvMail.sendMail("loicvaugeois@gmail.com", "Test Diffusion, test du mail", "Youpi, ça marche!");
        } catch (NamingException ex) {
            Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
        } catch (MessagingException ex) {
            Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    private void testDiffusionAUnUser() {
        //System.out.println("Test Diffusion a 1 user:");
        srvQuest.diffuser(daoQuestionnaire.find(1l), daoUser.find(1l), "message_diffusion");
    }

    private void testDiffusionAuto() {
        srvQuest.diffuser(daoQuestionnaire.find(1l));
    }

    private void testRelanceDiffusion(){
        srvQuest.relancerDiffusion(daoQuestionnaire.find(1l));
    }

    private void testRemercier(){
        srvQuest.remercier(daoQuestionnaire.find(1l), daoUser.find(1l)) ;
    }
}
